package com.tentative.competition.schedule.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tentative.competition.common.core.result.PageResult;
import com.tentative.competition.common.model.schedule.param.ScheduleAdminPageParam;
import com.tentative.competition.common.model.schedule.param.ScheduleAdminParam;
import com.tentative.competition.common.model.schedule.resp.*;
import com.tentative.competition.schedule.domain.ScheduleAdmin;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * <p>
 * 赛程（大赛）管理 服务类
 * </p>
 *
 * @author SmileH
 * @since 2023-06-22
 */
public interface ScheduleAdminService extends IService<ScheduleAdmin> {

    PageResult<ScheduleAdminResp> pageList(ScheduleAdminPageParam param);
    void addOrEdit(ScheduleAdminParam param);

    ScheduleAdminResp getInfo(Long id);

    ScheduleAdmin getNow();

    Boolean deleteSchedule(List<Long> ids);

    ScheduleInfoResp getBasicsInfo();

    HomeIntroInfoResp getIntroInfo(Long id);

    /**
     * 获取除本届之外的赛程信息
     * @param scheduleId
     * @return
     */
    List<GeneralMainResp> getSchedulePullDown(Long scheduleId);

    void alterStateTask();

    Boolean editEnable(String scheduleStatus,Long scheduleId);

    ScheduleAdmin getNowScheduleAdmin();
}
